#pragma once


#include<iostream>
#include<vector>
#include<functional>


using func_t = std::function<void()>;

class Tool
{
public:
    Tool()
    {}

    void PushFunc(func_t f)
    {
        _funcs.push_back(f);
    }

    void Execute()
    {
        for(auto& e : _funcs)
        {
            e();
        }
    }

    ~Tool()
    {}

private:
    std::vector<func_t> _funcs;
};
